﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class FieldOfView
   | RogueSharp </title>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="title" content="Class FieldOfView
   - RogueSharp ">
    <meta name="generator" content="docfx 2.47.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/dracula.min.css">
    <link rel="stylesheet" href="../styles/site.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <div class="bg-light">
        <nav class="navbar navbar-expand-lg navbar-light bg-light container">
          
          <a class="navbar-brand" href="../index.html">
            <img id="logo" class="svg" src="../images/logo.svg" alt="RogueSharp" width="36" height="36">
          </a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>
        
          <div class="collapse navbar-collapse" id="navbar">
            <!--<form id="search" role="search" class="form-inline my-2 my-lg-0">
              <input id="search-query" class="form-control mr-sm-2" type="search" placeholder="Search" autocomplete="off" aria-label="Search">
            </form>-->
          </div>
        </nav>
        </div>
        
        <div class="bg-dark">
        <nav aria-label="breadcrumb" id="breadcrumb" class="container hide-when-search">
          <!--<ol class="breadcrumb">
            <li class="breadcrumb-item" aria-current="page"></li>
          </ol>-->
        </nav>
        </div>      </header>
      <div role="main" class="container body-content hide-when-search">
      <div class="row">
        
        
        <div class="sidenav hide-when-search col-md-3 pt-md-3 pb-md-3">
          <a class="btn btn-link toc-toggle d-md-none" data-toggle="collapse" data-target="#sidetoggle" href="javascript:;" aria-expanded="true" aria-controls="sidetoggle">
            Show / Hide Table of Contents
          </a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article col-md-9">
      <div class="row">
          <div class="col-lg-9">
            <article class="content wrap pt-2 pb-2" id="_content" data-uid="RogueSharp.FieldOfView">
  
  
  <h1 id="RogueSharp_FieldOfView" data-uid="RogueSharp.FieldOfView" class="text-break">Class FieldOfView
  </h1>
  <div class="markdown level0 summary"><p>A class for performing field-of-view calculations to determine what is observable in a Map from a given Cell within a given light radius</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance mt-1">
    <h5 class="text-muted font-weight-light font-italic mb-0">Inheritance</h5>
    <div class="d-flex flex-wrap">
    <div class="level0 mr-1"><span class="xref">System.Object</span><i class="fal fa-arrow-alt-left fa-fw"></i></div>
    <div class="level1"><span class="xref">FieldOfView</span></div>
    </div>
  </div>
  <div class="inheritedMembers mt-1">
    <h5 class="font-weight-light font-italic mb-0">
      <a class="text-muted" data-toggle="collapse" data-target="#inheritedMembersCollapse" role="button" aria-expanded="false" aria-controls="inheritedMembersCollapse">
      Inherited Members
      </a>
    </h5>
    <div class="collapse" id="inheritedMembersCollapse">
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
    </div>
  </div>
  <h6 class="mt-1"><i class="text-muted font-weight-light font-italic mb-0">Namespace:</i> <a class="xref" href="RogueSharp.html">RogueSharp</a></h6>
  <h6 class="mt-1"><i class="text-muted font-weight-light font-italic mb-0">Assembly:</i> RogueSharp.dll</h6>
  <h5 id="RogueSharp_FieldOfView_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class FieldOfView</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/FaronBracy/RogueSharp/new/master/apiSpec/new?filename=RogueSharp_FieldOfView__ctor_RogueSharp_IMap_.md&amp;value=---%0Auid%3A%20RogueSharp.FieldOfView.%23ctor(RogueSharp.IMap)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/FaronBracy/RogueSharp/blob/master/RogueSharp/FieldOfView.cs/#L20">View Source</a>
  </span>
  <a id="RogueSharp_FieldOfView__ctor_" data-uid="RogueSharp.FieldOfView.#ctor*"></a>
  <h4 id="RogueSharp_FieldOfView__ctor_RogueSharp_IMap_" data-uid="RogueSharp.FieldOfView.#ctor(RogueSharp.IMap)">FieldOfView(IMap)</h4>
  <div class="markdown level1 summary"><p>Constructs a new FieldOfView class for the specified Map</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="text-muted font-weight-light font-italic decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public FieldOfView(IMap map)</code></pre>
  </div>
  <h5 class="text-muted font-weight-light font-italic parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="RogueSharp.IMap.html">IMap</a></td>
        <td><span class="parametername">map</span></td>
        <td><p>The Map that this FieldOfView class will use to perform its field-of-view calculations</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/FaronBracy/RogueSharp/new/master/apiSpec/new?filename=RogueSharp_FieldOfView_AppendFov_System_Int32_System_Int32_System_Int32_System_Boolean_.md&amp;value=---%0Auid%3A%20RogueSharp.FieldOfView.AppendFov(System.Int32%2CSystem.Int32%2CSystem.Int32%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/FaronBracy/RogueSharp/blob/master/RogueSharp/FieldOfView.cs/#L94">View Source</a>
  </span>
  <a id="RogueSharp_FieldOfView_AppendFov_" data-uid="RogueSharp.FieldOfView.AppendFov*"></a>
  <h4 id="RogueSharp_FieldOfView_AppendFov_System_Int32_System_Int32_System_Int32_System_Boolean_" data-uid="RogueSharp.FieldOfView.AppendFov(System.Int32,System.Int32,System.Int32,System.Boolean)">AppendFov(Int32, Int32, Int32, Boolean)</h4>
  <div class="markdown level1 summary"><p>Performs a field-of-view calculation with the specified parameters and appends it any existing field-of-view calculations.
Field-of-view (FOV) is basically a calculation of what is observable in the Map from a given Cell with a given light radius.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="text-muted font-weight-light font-italic decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ReadOnlyCollection&lt;ICell&gt; AppendFov(int xOrigin, int yOrigin, int radius, bool lightWalls)</code></pre>
  </div>
  <h5 class="text-muted font-weight-light font-italic parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">xOrigin</span></td>
        <td><p>X location of the Cell to perform the field-of-view calculation with 0 as the farthest left</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">yOrigin</span></td>
        <td><p>Y location of the Cell to perform the field-of-view calculation with 0 as the top</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">radius</span></td>
        <td><p>The number of Cells in which the field-of-view extends from the origin Cell. Think of this as the intensity of the light source.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">lightWalls</span></td>
        <td><p>True if walls should be included in the field-of-view when they are within the radius of the light source. False excludes walls even when they are within range.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="text-muted font-weight-light font-italic returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.ObjectModel.ReadOnlyCollection</span>&lt;<a class="xref" href="RogueSharp.ICell.html">ICell</a>&gt;</td>
        <td><p>List of Cells representing what is observable in the Map based on the specified parameters</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="RogueSharp_FieldOfView_AppendFov_System_Int32_System_Int32_System_Int32_System_Boolean__examples" class="text-muted font-weight-light font-italic">Examples</h5>
  <p>When a character is holding a light source in a large area that also has several other sources of light such as torches along the walls
ComputeFov could first be called for the character and then AppendFov could be called for each torch to give us the final combined FOV given all the light sources</p>

  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/FaronBracy/RogueSharp/new/master/apiSpec/new?filename=RogueSharp_FieldOfView_Clone.md&amp;value=---%0Auid%3A%20RogueSharp.FieldOfView.Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/FaronBracy/RogueSharp/blob/master/RogueSharp/FieldOfView.cs/#L36">View Source</a>
  </span>
  <a id="RogueSharp_FieldOfView_Clone_" data-uid="RogueSharp.FieldOfView.Clone*"></a>
  <h4 id="RogueSharp_FieldOfView_Clone" data-uid="RogueSharp.FieldOfView.Clone">Clone()</h4>
  <div class="markdown level1 summary"><p>Create and return a deep copy of an existing FieldOfView class</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="text-muted font-weight-light font-italic decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public FieldOfView Clone()</code></pre>
  </div>
  <h5 class="text-muted font-weight-light font-italic returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="RogueSharp.FieldOfView.html">FieldOfView</a></td>
        <td><p>A deep copy of an existing FieldOfViewClass</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/FaronBracy/RogueSharp/new/master/apiSpec/new?filename=RogueSharp_FieldOfView_ComputeFov_System_Int32_System_Int32_System_Int32_System_Boolean_.md&amp;value=---%0Auid%3A%20RogueSharp.FieldOfView.ComputeFov(System.Int32%2CSystem.Int32%2CSystem.Int32%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/FaronBracy/RogueSharp/blob/master/RogueSharp/FieldOfView.cs/#L75">View Source</a>
  </span>
  <a id="RogueSharp_FieldOfView_ComputeFov_" data-uid="RogueSharp.FieldOfView.ComputeFov*"></a>
  <h4 id="RogueSharp_FieldOfView_ComputeFov_System_Int32_System_Int32_System_Int32_System_Boolean_" data-uid="RogueSharp.FieldOfView.ComputeFov(System.Int32,System.Int32,System.Int32,System.Boolean)">ComputeFov(Int32, Int32, Int32, Boolean)</h4>
  <div class="markdown level1 summary"><p>Performs a field-of-view calculation with the specified parameters.
Field-of-view (FOV) is basically a calculation of what is observable in the Map from a given Cell with a given light radius.
Any existing field-of-view calculations will be overwritten when calling this method.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="text-muted font-weight-light font-italic decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ReadOnlyCollection&lt;ICell&gt; ComputeFov(int xOrigin, int yOrigin, int radius, bool lightWalls)</code></pre>
  </div>
  <h5 class="text-muted font-weight-light font-italic parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">xOrigin</span></td>
        <td><p>X location of the Cell to perform the field-of-view calculation with 0 as the farthest left</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">yOrigin</span></td>
        <td><p>Y location of the Cell to perform the field-of-view calculation with 0 as the top</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">radius</span></td>
        <td><p>The number of Cells in which the field-of-view extends from the origin Cell. Think of this as the intensity of the light source.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">lightWalls</span></td>
        <td><p>True if walls should be included in the field-of-view when they are within the radius of the light source. False excludes walls even when they are within range.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="text-muted font-weight-light font-italic returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.ObjectModel.ReadOnlyCollection</span>&lt;<a class="xref" href="RogueSharp.ICell.html">ICell</a>&gt;</td>
        <td><p>List of Cells representing what is observable in the Map based on the specified parameters</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/FaronBracy/RogueSharp/new/master/apiSpec/new?filename=RogueSharp_FieldOfView_IsInFov_System_Int32_System_Int32_.md&amp;value=---%0Auid%3A%20RogueSharp.FieldOfView.IsInFov(System.Int32%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/FaronBracy/RogueSharp/blob/master/RogueSharp/FieldOfView.cs/#L60">View Source</a>
  </span>
  <a id="RogueSharp_FieldOfView_IsInFov_" data-uid="RogueSharp.FieldOfView.IsInFov*"></a>
  <h4 id="RogueSharp_FieldOfView_IsInFov_System_Int32_System_Int32_" data-uid="RogueSharp.FieldOfView.IsInFov(System.Int32,System.Int32)">IsInFov(Int32, Int32)</h4>
  <div class="markdown level1 summary"><p>Check if the Cell is in the currently computed field-of-view
Field-of-view must first be calculated by calling ComputeFov and/or AppendFov</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="text-muted font-weight-light font-italic decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsInFov(int x, int y)</code></pre>
  </div>
  <h5 class="text-muted font-weight-light font-italic parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">x</span></td>
        <td><p>X location of the Cell to check starting with 0 as the farthest left</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">y</span></td>
        <td><p>Y location of the Cell to check, starting with 0 as the top</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="text-muted font-weight-light font-italic returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the Cell is in the currently computed field-of-view, false otherwise</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="RogueSharp_FieldOfView_IsInFov_System_Int32_System_Int32__remarks" class="text-muted font-weight-light font-italic">Remarks</h5>
  <div class="markdown level1 remarks"><p>Field-of-view (FOV) is basically a calculation of what is observable in the Map from a given Cell with a given light radius</p>
</div>
  <h5 id="RogueSharp_FieldOfView_IsInFov_System_Int32_System_Int32__examples" class="text-muted font-weight-light font-italic">Examples</h5>
  <p>Field-of-view can be used to simulate a character holding a light source and exploring a Map representing a dark cavern
Any Cells within the FOV would be what the character could see from their current location and lighting conditions</p>

  <h3 id="seealso" class="text-muted font-weight-light font-italic">See Also</h3>
  <div class="seealso">
      <div><span><a href="https://sites.google.com/site/jicenospam/visibilitydetermination">Based on the visibility determination algorithm described here</a></span></div>
  </div>
</article>
            <div id="disqus_thread"></div>
            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
          </div>
          
          <div class="d-none d-lg-block col-md-3" role="complementary">
            <div class="sideaffix pt-3 pb-3">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/FaronBracy/RogueSharp/new/master/apiSpec/new?filename=RogueSharp_FieldOfView.md&amp;value=---%0Auid%3A%20RogueSharp.FieldOfView%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link text-info" title="Improve this Doc">
                    <i class="fal fa-edit fa-fw"></i>
                    <span>Improve this Doc</span>
                    </a>
                  </li>
                  <li>
                    <a href="https://github.com/FaronBracy/RogueSharp/blob/master/RogueSharp/FieldOfView.cs/#L11" class="contribution-link text-info" title="View Source">
                    <i class="fal fa-code fa-fw"></i>
                    <span>View Source</span>
                    </a>
                  </li>
                </ul>
              </div>
              <!--<div class="github-links">
                  <a class="github-button" href="https://github.com/fszlin/certes" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star fszlin/certes on GitHub">Star</a>
              </div>-->
              <nav class="hidden-print affix mt-2" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
          </div>
        </div>
      </div>
      </div>
      
      <footer class="bg-secondary">
        <!--<div class="grad-bottom"></div>-->
        <div class="footer bg-secondary">
          <div class="container">
          <div class="d-flex">
            <div class="p-2 flex-grow-1 text-white">
            <a class="text-white" href="https://github.com/FaronBracy/RogueSharp">RogueSharp &copy; 2014-2020 Faron Bracy</a>
            
            </div>
            <div class="p-2">
              <a class="text-white" href="#top">Back to top</a>
            </div>
          </div>
          </div>
        </div>
      </footer>
    </div>
    
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/languages/dos.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/languages/powershell.min.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
  </body>
</html>
